(function webpackUniversalModuleDefinition(root, factory) {
	if(typeof exports === 'object' && typeof module === 'object')
		module.exports = factory(require("vue"));
	else if(typeof define === 'function' && define.amd)
		define("index", ["vue"], factory);
	else if(typeof exports === 'object')
		exports["index"] = factory(require("vue"));
	else
		root["index"] = factory(root["vue"]);
})(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE__0__) {
return /******/ (function(modules) { // webpackBootstrap
/******/ 	// The module cache
/******/ 	var installedModules = {};
/******/
/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {
/******/
/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId]) {
/******/ 			return installedModules[moduleId].exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
/******/ 			i: moduleId,
/******/ 			l: false,
/******/ 			exports: {}
/******/ 		};
/******/
/******/ 		// Execute the module function
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ 		// Flag the module as loaded
/******/ 		module.l = true;
/******/
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/
/******/
/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__webpack_require__.m = modules;
/******/
/******/ 	// expose the module cache
/******/ 	__webpack_require__.c = installedModules;
/******/
/******/ 	// define getter function for harmony exports
/******/ 	__webpack_require__.d = function(exports, name, getter) {
/******/ 		if(!__webpack_require__.o(exports, name)) {
/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ 		}
/******/ 	};
/******/
/******/ 	// define __esModule on exports
/******/ 	__webpack_require__.r = function(exports) {
/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ 		}
/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
/******/ 	};
/******/
/******/ 	// create a fake namespace object
/******/ 	// mode & 1: value is a module id, require it
/******/ 	// mode & 2: merge all properties of value into the ns
/******/ 	// mode & 4: return value when already ns object
/******/ 	// mode & 8|1: behave like require
/******/ 	__webpack_require__.t = function(value, mode) {
/******/ 		if(mode & 1) value = __webpack_require__(value);
/******/ 		if(mode & 8) return value;
/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ 		var ns = Object.create(null);
/******/ 		__webpack_require__.r(ns);
/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ 		return ns;
/******/ 	};
/******/
/******/ 	// getDefaultExport function for compatibility with non-harmony modules
/******/ 	__webpack_require__.n = function(module) {
/******/ 		var getter = module && module.__esModule ?
/******/ 			function getDefault() { return module['default']; } :
/******/ 			function getModuleExports() { return module; };
/******/ 		__webpack_require__.d(getter, 'a', getter);
/******/ 		return getter;
/******/ 	};
/******/
/******/ 	// Object.prototype.hasOwnProperty.call
/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ 	// __webpack_public_path__
/******/ 	__webpack_require__.p = "";
/******/
/******/
/******/ 	// Load entry module and return exports
/******/ 	return __webpack_require__(__webpack_require__.s = 5);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, exports) {

module.exports = __WEBPACK_EXTERNAL_MODULE__0__;

/***/ }),
/* 1 */
/***/ (function(module, exports) {

module.exports = require("core-js/modules/es.function.name");

/***/ }),
/* 2 */
/***/ (function(module, exports) {

module.exports = require("core-js/modules/es.number.constructor");

/***/ }),
/* 3 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXTERNAL MODULE: external "core-js/modules/es.function.name"
var es_function_name_ = __webpack_require__(1);

// EXTERNAL MODULE: external "vue"
var external_vue_ = __webpack_require__(0);

// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/dist/templateLoader.js??ref--6!./node_modules/vue-loader/dist??ref--12-0!./packages/scrollbar/src/main.vue?vue&type=template&id=ac87b504&bindings={"light":"props","zIndex":"props","noresize":"props","autoShow":"props","sizeWidth":"data","sizeHeight":"data","moveX":"data","moveY":"data","observer":"data","isHover":"data","currentDirection":"data","timer":"data","emitTimer":"data","wrap":"options","wrapStyle":"options","handleScroll":"options","update":"options","scrollTo":"options","scrollDirection":"options","eventTarget":"options"}

function render(_ctx, _cache, $props, $setup, $data, $options) {
  var _component_Bar = Object(external_vue_["resolveComponent"])("Bar");

  return Object(external_vue_["openBlock"])(), Object(external_vue_["createBlock"])("div", {
    class: ["sin-scrollbar", [$props.light ? 'is-light' : '']],
    onMouseover: _cache[4] || (_cache[4] = function ($event) {
      return $data.isHover = true;
    }),
    onMouseleave: _cache[5] || (_cache[5] = function ($event) {
      return $data.isHover = false;
    })
  }, [Object(external_vue_["createVNode"])("div", {
    ref: "wrap",
    class: "sin-scrollbar__wrap",
    style: $options.wrapStyle,
    onScroll: _cache[1] || (_cache[1] = function () {
      return $options.handleScroll.apply($options, arguments);
    })
  }, [Object(external_vue_["renderSlot"])(_ctx.$slots, "default")], 36
  /* STYLE, HYDRATE_EVENTS */
  ), Object(external_vue_["createVNode"])(_component_Bar, {
    move: $data.moveX,
    size: $data.sizeWidth,
    onScrollDirection: _cache[2] || (_cache[2] = function ($event) {
      return $options.scrollDirection('X');
    })
  }, null, 8
  /* PROPS */
  , ["move", "size"]), Object(external_vue_["createVNode"])(_component_Bar, {
    vertical: "",
    move: $data.moveY,
    size: $data.sizeHeight,
    onScrollDirection: _cache[3] || (_cache[3] = function ($event) {
      return $options.scrollDirection('Y');
    })
  }, null, 8
  /* PROPS */
  , ["move", "size"])], 34
  /* CLASS, HYDRATE_EVENTS */
  );
}
// CONCATENATED MODULE: ./packages/scrollbar/src/main.vue?vue&type=template&id=ac87b504&bindings={"light":"props","zIndex":"props","noresize":"props","autoShow":"props","sizeWidth":"data","sizeHeight":"data","moveX":"data","moveY":"data","observer":"data","isHover":"data","currentDirection":"data","timer":"data","emitTimer":"data","wrap":"options","wrapStyle":"options","handleScroll":"options","update":"options","scrollTo":"options","scrollDirection":"options","eventTarget":"options"}

// EXTERNAL MODULE: external "core-js/modules/es.number.constructor"
var es_number_constructor_ = __webpack_require__(2);

// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/dist/templateLoader.js??ref--6!./node_modules/vue-loader/dist??ref--12-0!./packages/scrollbar/src/bar.vue?vue&type=template&id=dcce2e5e&bindings={"vertical":"props","size":"props","move":"props","cursorDown":"data","bar":"options","wrap":"options","showThumb":"options","thumbStyle":"options","clickBarHandler":"options","clickThumbHandler":"options","startDrag":"options","mouseMoveHandler":"options","mouseUpHandler":"options"}

function barvue_type_template_id_dcce2e5e_bindings_vertical_props_size_props_move_props_cursorDown_data_bar_options_wrap_options_showThumb_options_thumbStyle_options_clickBarHandler_options_clickThumbHandler_options_startDrag_options_mouseMoveHandler_options_mouseUpHandler_options_render(_ctx, _cache, $props, $setup, $data, $options) {
  return Object(external_vue_["openBlock"])(), Object(external_vue_["createBlock"])("div", {
    class: ["sin-scrollbar__bar", ["is-".concat($options.bar.axis), $options.showThumb ? 'is-hover' : '']],
    style: {
      zIndex: _ctx.$parent.zIndex
    },
    onMousedown: _cache[2] || (_cache[2] = function () {
      return $options.clickBarHandler.apply($options, arguments);
    })
  }, [Object(external_vue_["createCommentVNode"])(" 滚动条 thumb "), Object(external_vue_["createVNode"])("div", {
    ref: "thumb",
    class: "sin-scrollbar__thumb",
    style: $options.thumbStyle,
    onMousedown: _cache[1] || (_cache[1] = function () {
      return $options.clickThumbHandler.apply($options, arguments);
    })
  }, null, 36
  /* STYLE, HYDRATE_EVENTS */
  )], 38
  /* CLASS, STYLE, HYDRATE_EVENTS */
  );
}
// CONCATENATED MODULE: ./packages/scrollbar/src/bar.vue?vue&type=template&id=dcce2e5e&bindings={"vertical":"props","size":"props","move":"props","cursorDown":"data","bar":"options","wrap":"options","showThumb":"options","thumbStyle":"options","clickBarHandler":"options","clickThumbHandler":"options","startDrag":"options","mouseMoveHandler":"options","mouseUpHandler":"options"}

// EXTERNAL MODULE: external "core-js/modules/es.array.concat"
var es_array_concat_ = __webpack_require__(4);

// CONCATENATED MODULE: ./packages/scrollbar/utils.js
/* 聚合取值字典 */
var BAR_MAP = {
  vertical: {
    offset: 'offsetHeight',
    scroll: 'scrollTop',
    scrollSize: 'scrollHeight',
    size: 'height',
    key: 'vertical',
    axis: 'Y',
    client: 'clientY',
    direction: 'top'
  },
  horizontal: {
    offset: 'offsetWidth',
    scroll: 'scrollLeft',
    scrollSize: 'scrollWidth',
    size: 'width',
    key: 'horizontal',
    axis: 'X',
    client: 'clientX',
    direction: 'left'
  }
};
/* 获取默认滚动条宽度 */

var scrollBarWidth;
var getScrollBarWidth = function getScrollBarWidth() {
  if (scrollBarWidth !== undefined) return scrollBarWidth;
  var outer = document.createElement('div');
  outer.className = 'sin-scrollbar__wrap';
  outer.style.visibility = 'hidden';
  outer.style.width = '100px';
  outer.style.position = 'absolute';
  outer.style.top = '-9999px';
  document.body.appendChild(outer);
  var widthNoScroll = outer.offsetWidth;
  outer.style.overflow = 'scroll';
  var inner = document.createElement('div');
  inner.style.width = '100%';
  outer.appendChild(inner);
  var widthWithScroll = inner.offsetWidth;
  outer.parentNode.removeChild(outer);
  scrollBarWidth = widthNoScroll - widthWithScroll;
  return scrollBarWidth;
};
/* 滚动动画 */

var scrollAnimate = function scrollAnimate(el, scrollType, end) {
  var duration = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 300;
  var stp;

  function step(timestamp) {
    if (!stp) stp = timestamp;
    var fps = timestamp - stp;
    var currentPosition = el[scrollType];
    var length = currentPosition - end;
    var speed = length * fps / duration;
    currentPosition = currentPosition - speed;
    el[scrollType] = currentPosition;

    if (speed || fps === 0) {
      window.requestAnimationFrame(step);
    }
  }

  window.requestAnimationFrame(step);
};
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/dist??ref--12-0!./packages/scrollbar/src/bar.vue?vue&type=script&lang=js



/* harmony default export */ var barvue_type_script_lang_js = ({
  name: 'Bar',
  props: {
    /* 横轴方向标识 */
    vertical: Boolean,

    /* 滚动条 thumb 大小 */
    size: String,

    /* 滚动条 thumn 移动位置 */
    move: Number
  },
  data: function data() {
    return {
      /* 鼠标是否按下状态 */
      cursorDown: false
    };
  },
  computed: {
    /* 当前轴的字典信息对照 */
    bar: function bar() {
      return BAR_MAP[this.vertical ? 'vertical' : 'horizontal'];
    },

    /* 整个容器的 wrap ref */
    wrap: function wrap() {
      return this.$parent.wrap;
    },

    /* 处理移入显示 且 点击时移出容器仍然显示 */
    showThumb: function showThumb() {
      return !this.$parent.autoShow || this.$parent.isHover || this.cursorDown;
    },

    /* 当前滚动 thumb 的位置样式 */
    thumbStyle: function thumbStyle() {
      var move = this.move,
          size = this.size,
          bar = this.bar;
      var style = {};
      var translate = "translate".concat(bar.axis, "(").concat(move, "%)");
      style[bar.size] = size;
      style.transform = translate;
      style.msTransform = translate;
      style.webkitTransform = translate;
      return style;
    }
  },
  watch: {
    /* 滚动时抛出当前 轴 用作触发事件使用 */
    move: function move() {
      this.$emit('scroll-direction');
    }
  },

  /* 卸载事件 */
  unmounted: function unmounted() {
    document.removeEventListener('mouseup', this.mouseUpHandler, false);
  },
  methods: {
    /* 直接点击滚动容器中的某个位置可直接跳转对应位置处理 */
    clickBarHandler: function clickBarHandler(e) {
      var offset = Math.abs(e.target.getBoundingClientRect()[this.bar.direction] - e[this.bar.client]);
      var thumbHalf = this.$refs.thumb[this.bar.offset] / 2;
      var thumbPositionPercentage = (offset - thumbHalf) * 100 / this.$el[this.bar.offset];
      this.wrap[this.bar.scroll] = thumbPositionPercentage * this.wrap[this.bar.scrollSize] / 100;
    },

    /* 点击thumb开始拖动滚动条处理 */
    clickThumbHandler: function clickThumbHandler(e) {
      if (e.ctrlKey || e.button === 2) {
        return;
      }

      this.startDrag(e);
      this[this.bar.axis] = e.currentTarget[this.bar.offset] - (e[this.bar.client] - e.currentTarget.getBoundingClientRect()[this.bar.direction]);
    },

    /* 开始拖动监听相应事件 */
    startDrag: function startDrag(e) {
      e.stopImmediatePropagation();
      this.cursorDown = true;
      document.addEventListener('mousemove', this.mouseMoveHandler, false);
      document.addEventListener('mouseup', this.mouseUpHandler, false);

      document.onselectstart = function () {
        return false;
      };
    },

    /* 拖动时的位置信息更新 */
    mouseMoveHandler: function mouseMoveHandler(e) {
      if (this.cursorDown === false) return;
      var prevPage = this[this.bar.axis];
      if (!prevPage) return;
      var offset = (this.$el.getBoundingClientRect()[this.bar.direction] - e[this.bar.client]) * -1;
      var thumbClickPosition = this.$refs.thumb[this.bar.offset] - prevPage;
      var thumbPositionPercentage = (offset - thumbClickPosition) * 100 / this.$el[this.bar.offset];
      this.wrap[this.bar.scroll] = thumbPositionPercentage * this.wrap[this.bar.scrollSize] / 100;
    },

    /* 鼠标送起卸载监听 */
    mouseUpHandler: function mouseUpHandler(e) {
      this.cursorDown = false;
      this[this.bar.axis] = 0;
      document.removeEventListener('mousemove', this.mouseMoveHandler, false);
      document.removeEventListener('mouseup', this.mouseUpHandler, false);
      document.onselectstart = null;
    }
  }
});
// CONCATENATED MODULE: ./packages/scrollbar/src/bar.vue?vue&type=script&lang=js
 
// CONCATENATED MODULE: ./packages/scrollbar/src/bar.vue



barvue_type_script_lang_js.render = barvue_type_template_id_dcce2e5e_bindings_vertical_props_size_props_move_props_cursorDown_data_bar_options_wrap_options_showThumb_options_thumbStyle_options_clickBarHandler_options_clickThumbHandler_options_startDrag_options_mouseMoveHandler_options_mouseUpHandler_options_render

/* harmony default export */ var src_bar = (barvue_type_script_lang_js);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/dist??ref--12-0!./packages/scrollbar/src/main.vue?vue&type=script&lang=js



/* harmony default export */ var mainvue_type_script_lang_js = ({
  name: 'SinScrollbar',
  props: {
    /* 滚动条的颜色, 默认暗色 */
    light: Boolean,

    /* 滚动条的层级, 默认 1 */
    zIndex: {
      type: Number,
      default: 1
    },

    /* 如果 container 尺寸不会发生变化，最好设置它可以优化性能 */
    noresize: Boolean,

    /* 是否移入时显示滚动条 */
    autoShow: {
      type: Boolean,
      default: true
    }
  },
  components: {
    Bar: src_bar
  },
  data: function data() {
    return {
      /* 横轴 thumb 计算宽度 */
      sizeWidth: '0',

      /* 纵轴 thumb 计算高度 */
      sizeHeight: '0',

      /* 横轴滚动位移的距离 百分比 */
      moveX: 0,

      /* 纵轴滚动位移的距离 百分比 */
      moveY: 0,

      /* 容器监听器 */
      observer: null,

      /* 是否移入容器内 */
      isHover: false,

      /* 当前正在滚动的轴 X / Y */
      currentDirection: null,

      /* 锁定滚动方向用 */
      timer: null,

      /* 因缩放分辨率导致 emit 重复抛出事件 */
      emitTimer: null
    };
  },
  computed: {
    /* 滚动容器的 ref */
    wrap: function wrap() {
      return this.$refs.wrap;
    },

    /* 隐藏默认的滚动条 */
    wrapStyle: function wrapStyle() {
      // 默认滚动条计算
      var gutterWith = getScrollBarWidth();
      var gutterStyle = "-".concat(gutterWith, "px");
      return {
        width: "calc(100% + ".concat(gutterWith, "px)"),
        height: "calc(100% + ".concat(gutterWith, "px)"),
        marginBottom: gutterStyle,
        marginRight: gutterStyle
      };
    }
  },
  mounted: function mounted() {
    /* 默认执行更新一次容器 */
    this.$nextTick(this.update);
    /* 监听窗口容器的 resize */

    !this.noresize && window.addEventListener('resize', this.update);
    /* 监听容器的动态更新 */

    if (window.MutationObserver) {
      this.observer = new window.MutationObserver(this.update);
      this.observer && this.observer.observe(this.wrap, {
        attributes: true,
        childList: true,
        subtree: true
      });
    }
  },
  beforeUnmount: function beforeUnmount() {
    /* 卸载监听 */
    !this.noresize && window.removeEventListener('resize', this.update);
    this.observer && this.observer.disconnect();
  },
  methods: {
    /* 容器滚动时 */
    handleScroll: function handleScroll() {
      var wrap = this.wrap;
      this.moveY = wrap.scrollTop * 100 / wrap.clientHeight;
      this.moveX = wrap.scrollLeft * 100 / wrap.clientWidth;
      /* 抛出 API */

      this.eventTarget();
    },

    /* 更新容器信息 滚动条大小 */
    update: function update() {
      var wrap = this.wrap;
      if (!wrap) return;
      var heightPercentage = wrap.clientHeight * 100 / wrap.scrollHeight;
      var widthPercentage = wrap.clientWidth * 100 / wrap.scrollWidth;
      this.sizeHeight = heightPercentage < 100 ? heightPercentage + '%' : '0';
      this.sizeWidth = widthPercentage < 100 ? widthPercentage + '%' : '0';
    },

    /* 抛出方法, 滚动到指定位置 可快捷方式 top bottom right end */
    scrollTo: function scrollTo(inTop, inLeft) {
      var wrap = this.wrap;
      var scrollTop, scrollLeft;
      /* 快捷滚动操作 */

      if (inTop === 'top') {
        // 到顶部
        scrollTop = 0;
      } else if (inTop === 'bottom') {
        // 到底部
        scrollTop = wrap.scrollHeight - wrap.clientHeight;
      } else if (inTop === 'left') {
        // 到最左侧
        scrollLeft = 0;
      } else if (inTop === 'right') {
        // 到最右侧
        scrollLeft = wrap.scrollWidth - wrap.clientWidth;
      } else if (inTop === 'end') {
        // 到最右侧最底部
        scrollTop = wrap.scrollHeight - wrap.clientHeight;
        scrollLeft = wrap.scrollWidth - wrap.clientWidth;
      } else {
        scrollTop = inTop;
        scrollLeft = inLeft;
      }

      if (scrollTop !== undefined) scrollAnimate(this.wrap, 'scrollTop', scrollTop);
      if (scrollLeft !== undefined) scrollAnimate(this.wrap, 'scrollLeft', scrollLeft);
    },

    /* 判断当前滚动的方向 是 X 还是 Y */
    scrollDirection: function scrollDirection(dir) {
      var _this = this;

      clearTimeout(this.timer);
      this.currentDirection = dir; // 为了处理同时 x 在最右边 y 在最底部 时 拖动 x 还是会先触发一次 bottom解决 锁

      this.timer = setTimeout(function () {
        _this.currentDirection = null;
      }, 50);
    },

    /**
     * 抛出事件 API
     * scroll 滚动位置信息 scrollTop, scrollLeft
     * reach-top 到达顶部
     * reach-left 到达最左边
     * reach-bottom 到达最底部
     * reach-right 到达最右侧
     */
    eventTarget: function eventTarget() {
      var _this2 = this;

      var wrap = this.wrap;
      var scrollInfo = {
        scrollTop: wrap.scrollTop,
        scrollLeft: wrap.scrollLeft
      };
      this.$emit('scroll', scrollInfo);

      if (this.moveY === 0 && this.currentDirection === 'Y') {
        this.$emit('reach-top');
      } else if (this.moveX === 0 && this.currentDirection === 'X') {
        this.$emit('reach-left');
      } else if (Math.abs(wrap.scrollTop + wrap.clientHeight - wrap.scrollHeight) <= 1 && this.currentDirection === 'Y') {
        clearTimeout(this.emitTimer);
        this.emitTimer = setTimeout(function () {
          _this2.$emit('reach-bottom');
        }, 50);
      } else if (Math.abs(wrap.scrollLeft + wrap.clientWidth - wrap.scrollWidth) <= 1 && this.currentDirection === 'X') {
        clearTimeout(this.emitTimer);
        this.emitTimer = setTimeout(function () {
          _this2.$emit('reach-right');
        }, 50);
      }
    }
  }
});
// CONCATENATED MODULE: ./packages/scrollbar/src/main.vue?vue&type=script&lang=js
 
// CONCATENATED MODULE: ./node_modules/mini-css-extract-plugin/dist/loader.js!./node_modules/css-loader/dist/cjs.js!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/less-loader/dist/cjs.js!./packages/scrollbar/style/index.less?vue&type=style&index=0&lang=less
// extracted by mini-css-extract-plugin

// CONCATENATED MODULE: ./packages/scrollbar/style/index.less?vue&type=style&index=0&lang=less
 
// CONCATENATED MODULE: ./packages/scrollbar/src/main.vue





mainvue_type_script_lang_js.render = render

/* harmony default export */ var main = (mainvue_type_script_lang_js);
// CONCATENATED MODULE: ./packages/scrollbar/index.js



main.install = function (Vue) {
  Vue.component(main.name, main);
};

/* harmony default export */ var scrollbar = __webpack_exports__["default"] = (main);

/***/ }),
/* 4 */
/***/ (function(module, exports) {

module.exports = require("core-js/modules/es.array.concat");

/***/ }),
/* 5 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6);
/* harmony import */ var core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_for_each__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1);
/* harmony import */ var core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_name__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7);
/* harmony import */ var core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_for_each__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _scrollbar_index_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3);




var components = [_scrollbar_index_js__WEBPACK_IMPORTED_MODULE_3__["default"]];

var install = function install(Vue) {
  var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  components.forEach(function (component) {
    Vue.component(component.name, component);
  });
  Vue.config.globalProperties.$SINTOOLBOX = {
    zIndex: opts.zIndex || 2000
  };

  if (typeof window !== 'undefined' && window.Vue) {
    install(window.Vue);
  }
};

/* harmony default export */ __webpack_exports__["default"] = ({
  install: install,
  Scrollbar: _scrollbar_index_js__WEBPACK_IMPORTED_MODULE_3__["default"]
});

/***/ }),
/* 6 */
/***/ (function(module, exports) {

module.exports = require("core-js/modules/es.array.for-each");

/***/ }),
/* 7 */
/***/ (function(module, exports) {

module.exports = require("core-js/modules/web.dom-collections.for-each");

/***/ })
/******/ ]);
});